"""
BeautifulSoup
    简称：bs4
"""

from bs4 import BeautifulSoup

# 解析本地文件
soup = BeautifulSoup(
    open(
        "f:\\Project\\python\\study\\pythonProject\\study_bs4\\study.html",
        encoding="utf-8",
    ),
    "lxml",
)
# print(soup)

# 根据标签名获取节点
print(soup.a)  # 找到的是第一个a标签
print(soup.find_all("a"))  # 找到的是所有a标签
print(soup.a.attrs)  # 找到的是a标签的属性和属性值

"""
bs4的一些函数
"""
# 1 find()
print(soup.find("a"))  # 找到的是第一个a标签
print(soup.find("a", title="a2"))  # 找到的是title属性等于a2的a标签
print(soup.find("a", class_="a1"))  # 找到的是class属性等于a1的a标签

# 2 find_all()
print(soup.find_all("a"))  # 找到的是所有a标签
print(soup.find_all(["a", "span"]))  # 找到的是所有a标签和span标签

#  3 select()
print(soup.select("a"))  # 找到的是所有a标签
print(soup.select(".a1"))  # 找到的是class属性等于a1的a标签
print(soup.select("div li"))  # 找到的是所有div标签下的li标签

# 某标签的第一级子标签 只能一级一级地找 建议中间加空格 如下
print(soup.select("div > ul > li"))  # 找到的是所有div标签下的li标签

print(
    "======================================================================================"
)

print(soup.select("li, a"))  # 找到的是所有li标签和a标签
